/**
 * 
 */
package view;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Observable;
import java.util.Observer;

import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;

import model.MenueObenModel;

import controller.MenueObenController;

/**
 * @author Schweingruber Roger
 * 
 */
public class MenueOben extends JMenuBar implements Observer {

	private MenueObenController menueObenController;
	private MenueObenModel menueObenModel;

	private JMenu jmDatei;
	private JMenuItem jmiBeenden;
	
	private JMenu jmKunden;
	private JMenuItem jmiKundenVerw;
	
	private JMenu jmProjekte;
	private JMenuItem jmiProjektVerw;

	private ActionListener myActionListener;

	/**
	 * @param menueObenController
	 * @param menueObenModel
	 * 
	 */
	public MenueOben(MenueObenController menueObenController,
			MenueObenModel menueObenModel) {
		super();

		this.menueObenController = menueObenController;
		this.menueObenModel = menueObenModel;

		menueObenModel.addObserver(this);

		myActionListener = new MyActionListener();

		initWidgets();

		addWidgets();

		addListener();
	}

	/**
	 * 
	 */
	private void initWidgets() {

		jmDatei = new JMenu("Datei");
		jmiBeenden = new JMenuItem("Beenden");
		
		jmKunden = new JMenu("Kunden");
		jmiKundenVerw = new JMenuItem("Kunden verwalten");
		
		jmProjekte = new JMenu("Projekte");
		jmiProjektVerw = new JMenuItem("Projekte verwalten");

	}

	/**
	 * 
	 */
	private void addWidgets() {
		jmDatei.add(jmiBeenden);

		jmKunden.add(jmiKundenVerw);
		
		jmProjekte.add(jmiProjektVerw);
		
		add(jmDatei);
		add(jmKunden);
		add(jmProjekte);

	}

	private void addListener() {
		jmiBeenden.addActionListener(myActionListener);
		
		jmiKundenVerw.addActionListener(myActionListener);
		
		jmiProjektVerw.addActionListener(myActionListener);
	}

	/**
	 * 
	 */
	@Override
	public void update(Observable o, Object arg) {
		// TODO Auto-generated method stub

	}

	/**
	 * 
	 * @author Schweingruber Roger
	 * 
	 */
	private class MyActionListener implements ActionListener {

		@Override
		public void actionPerformed(ActionEvent e) {
			
			// Menueitem Beenden
			if (e.getActionCommand().equals(jmiBeenden.getText())){
				System.exit(0);
			}
			
			// Kundenverwaltung
			if (e.getActionCommand().equals(jmiKundenVerw.getText())){
				
				menueObenController.setFenster(e.getActionCommand().toString());
			}
			
			
			// Projektverwaltung
			if (e.getActionCommand().equals(jmiProjektVerw.getText())){
				
				menueObenController.setFenster(e.getActionCommand().toString());
			}

		}
		
		

	}
}
